1. Field of the Invention
The present invention relates to a portable information terminal for use as a portable telephone set, a PHS (Portable Handy-phone System) terminal, a portable game machine, or a PDA (Personal Digital Assistant), a method of processing audio data for compressing and expanding audio data used in the portable information terminal, a recording medium which stores a program for carrying out at least the method of processing audio data and data to be referred to by the program, and a program for carrying out the method of processing audio data.
2. Description of the Related Art
Generally, an audio coding process removes redundancy from audio data so as to be able to handle the audio data in a reduced amount of information. The audio coding process is an indispensable technology for digital audio data transmission, e.g., audio data transmission via portable telephone and the Internet, and digital audio data storage, e.g., audio data storage in CD-ROMs, DVDs (Digital Video Discs), and MDs (Mini Discs).
The audio coding process utilizes audio data properties and human auditory characteristics in order to code audio data efficiently.
The audio coding process is based on various techniques including nonuniform quantization, predictive coding, differential PCM, subband coding based on human auditory and visual characteristics, and transform coding.
According to the transform coding technique, for example, a time-domain signal is sliced with a window ranging from 5 to 50 ms, converted into a frequency domain by DCT (Discrete Cosine Transform) or DFT (Discrete Fourier Transform), classified into a corresponding group with a critical bandwidth, and coded with a minimum number required of quantization bits in view of masking.
Specifically, audio data is converted into a frequency domain by MDCT (Modified Discrete Cosine Transform), and also subjected to FFT (Fast Fourier Transform). A masking threshold value for each critical band is determined from the FFT signal, and the MDCT audio data is quantized and thereafter subjected to variable-length coding, i.e., entropy coding such as Huffman coding.
The encoded audio data is decoded by variable-length decoding and inverse quantization, and then inverse DCT (IDCT) to restore time-domain data, i.e., audio data.
In order to meet demands for smaller size and weight, efforts have been made to improve portable information terminals such as portable telephone sets, PHS terminals, portable game machines, or PDAs by employing piezoelectric speakers and small memories of reduced storage capacity for operating programs.
A program for achieving the audio coding process (hereinafter referred to as xe2x80x9caudio coding programxe2x80x9d) is made up of a vast number of steps. If the audio coding program is ported directly to a portable information terminal, then the following programs are liable to arise:
(1) Since it is necessary to provide a storage capacity large enough to store the audio coding program, there is a greater need for a memory for storing the audio coding program.
(2) If no sufficient storage capacity is available, then the audio coding program cannot be made resident. Therefore, each time there is a request for audio data output, the audio coding program must be stored in a working area and activated. However, the process leads to a reduction in the processing speed, and the timing for audio data output is liable to be retarded.
(3) Because the number of steps of the audio coding program is large, the audio coding program is required to be paged frequently. The frequent paging process is liable to increase the processing time and operational errors.
It is therefore an object of the present invention to provide a portable information terminal having a simplified audio coding program that is capable of quickly processing audio data.
Another object of the present invention is to provide a method of processing audio data which is suitable for the processing of audio data in a portable information terminal.
Still another object of the present invention is to provide a recording medium which stores a program for quickly processing audio data that is suitable for the processing of audio data in a portable information terminal, and data to be referred to by the program.
A portable information terminal according to the present invention has a memory for storing data, expansion processing means stored in the memory, for expanding compressed data which has not been subjected to variable-length coding, into audio data, sound output means for converting the audio data into sound and outputting the sound, and a plurality of data buffers accessible by at least the expansion processing means, for successively selectively reading and writing at least the audio data.
The expansion processing means expands the compressed data to restore the audio data. The compressed data has not been subjected to variable-length coding.
Generally, Huffman coding is used as the variable-length coding (entropy coding). If the variable-length coding employed, the number of steps required to decode the data is increased, resulting in an increase in the size of a program that is used to expand the compressed data.
According to the present invention, no decoding process is required because the expansion processing means expands the compressed data which has not been subjected to variable-length coding, and hence the number of steps carried out by the expansion processing means is greatly reduced. As a result, the compressed data can quickly be restored without having to increase the storage capacity of the memory.
Furthermore, since the plural data buffers are used, no data interference occurs during the processing, and the compressed data can be expanded quickly with high accuracy.
If the number of data based on a processable number that is preset to meet the performance of at least the sound output means is regarded as one sample, then the expansion processing means may comprise means for expanding the compressed data for each sample. Therefore, the compressed data can be expanded depending on the specifications of the portable information terminal, preventing sound from being outputted out of synchronism with displayed images.
The expansion processing means may comprise inverse quantization processing means for inversely quantizing the compressed data into inversely quantized data, and IDCT processing means for effecting an IDCT process on the inversely quantized data to produce the audio data, the data buffers including two inverse quantization buffers accessible for successively selectively reading and writing the inversely quantized data, and two audio data buffers accessible for successively selectively reading and writing the audio data.
The IDCT processing means may comprise means for effecting the IDCT process using a cosine table which has been generated in advance. With the cosine table used, the IDCT process is simplified, and the compressed data can be expanded more quickly.
The IDCT processing means may have low-pass filter processing means for logically effecting a low-pass filter on IDCT-processed data to reduce a high-frequency component contained therein.
The portable information terminal may further comprise communication means for sending data to and receiving data from an external device, the compressed data comprising data stored in the memory via the communication means.
The compressed data may comprise data which is produced when uncompressed data recorded in a recording medium accessible via the external device is compressed by the external device, or may comprise data which is recorded in a recording medium accessible via the external device and compressed when recorded in the recording medium.
The uncompressed data may be compressed by effecting a DCT process on the uncompressed data to produce DCT-processed data and quantizing the DCT-processed data. The DCT-processed data may be quantized by determining maximum values at respective frequencies of the DCT-processed data to generate a quantization table containing the maximum values at the respective frequencies, and dividing the DCT-processed data by the maximum values at the respective frequencies in the quantization table to produce quantized data.
Preferably, the compressed data may comprise data containing reduced noise. The noise may be reduced by calculating a total of samples in original data to produce an original total value, compressing the original data and expanding the compressed original data to produce restored data, calculating a total of samples in the restored data to produce a restored total value, comparing the original total value and the restored total value with each other, and correcting the original data depending on the result of comparison.
According to the present invention, there is also provided a method of processing audio data, comprising the steps of expanding compressed data which has not been subjected to variable-length coding, into audio data, using a plurality of data buffers accessible for successively selectively reading and writing at least the audio data, and outputting the audio data to sound output means to output sound.
The method allows audio data to be quickly processed, and hence is suitable for audio data processing in a portable information terminal.
If the number of data based on a processable number that is preset to meet the performance of at least the sound output means is regarded as one sample, then the step of expanding compressed data may comprise the step of expanding the compressed data for each sample.
The step of expanding compressed data may comprise the steps of inversely quantizing the compressed data into inversely quantized data, and effecting an IDCT process on the inversely quantized data to produce the audio data, the arrangement being such that the inversely quantized data is successively selectively read and written using two inverse quantization buffers, and the audio data is successively selectively read and written using two audio data buffers.
The step of effecting an IDCT process may comprise the step of effecting the IDCT process using a cosine table which has been generated in advance.
The step of effecting an IDCT process may comprise the step of logically effecting a low-pass filter on IDCT-processed data to reduce a high-frequency component contained therein.
The method may further comprise step of generating the compressed data, the step of generating the compressed data comprising the steps of effecting a DCT process on uncompressed data to produce DCT-processed data, and quantizing the DCT-processed data.
The step of quantizing the DCT-processed data may comprise the steps of determining maximum values at respective frequencies of the DCT-processed data to generate a quantization table containing the maximum values at the respective frequencies, and dividing the DCT-processed data by the maximum values at the respective frequencies in the quantization table to produce quantized data.
Preferably, the compressed data may comprise data containing reduced noise. The method may further comprise the step of reducing noise, the step of reducing noise comprising the steps of calculating a total of samples in original data to produce an original total value, compressing the original data and expanding the compressed original data to produce restored data, calculating a total of samples in the restored data to produce a restored total value, comparing the original total value and the restored total value with each other, and correcting the original data depending on the result of comparison.
According to the present invention, there is also provided a recording medium which stores a program operable on a portable information terminal having a memory for storing data, sound output means for converting the audio data into sound and outputting the sound, a plurality of data buffers accessible for successively selectively reading and writing at least the audio data, and also stores data referred to by the program, the program comprising the step of expanding compressed data which has not been subjected to variable-length coding, stored in the memory, using the data buffers, thereby to produce audio data.
The recording medium stores the program which allows audio data to be quickly processed, and hence is suitable for audio data processing in the portable information terminal.
In the above program, if the number of data based on a processable number that is preset to meet the performance of at least the sound output means is regarded as one sample, then the step of expanding compressed data comprises the step of expanding the compressed data for each sample.
The portable information terminal may have two inverse quantization buffers accessible for successively selectively reading and writing the inversely quantized data, and two audio data buffers accessible for successively selectively reading and writing the audio data, and the step of expanding compressed data may comprise the steps of inversely quantizing the compressed data into inversely quantized data, and effecting an IDCT process on the inversely quantized data to produce the audio data. The step of effecting an IDCT process may comprise the step of effecting the IDCT process using a cosine table which has been generated in advance. The step of effecting an IDCT process may comprise the step of logically effecting a low-pass filter on IDCT-processed data to reduce a high-frequency component contained therein.
The recording medium may store the compressed data as well as the program.
The program may comprise the step of compressing uncompressed data, the uncompressed data as well as the program being stored in the recording medium.
According to the present invention, there is further provided a program operable on a portable information terminal having a memory for storing various data, sound output means for converting the audio data into sound and outputting the sound, a plurality of data buffers accessible for successively selectively reading and writing at least the audio data, and also stores data referred to by the program, the program being readable and executable by a computer, the program comprising the step of expanding compressed data which has not been subjected to variable-length coding, stored in the memory, using the data buffers, thereby to produce audio data.
The program allows audio data to be quickly processed, and hence is suitable for audio data processing in the portable information terminal.